package cn.com.yx.ms.persistence;

import cn.com.yx.ms.application.web.ApiQueryBase;
import cn.com.yx.ms.domain.dbmodel.DevEquStore;
import cn.com.yx.ms.domain.dev.*;
import cn.com.yx.ms.domain.line.DevStandModel;
import cn.com.yx.ms.domain.live.LiveDevModel;
import cn.com.yx.ms.domain.statistics.StaChartDevInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface DevEquStoreMapper {
    int deleteByPrimaryKey(String equipmentguid);

    int insert(DevEquStore record);

    int insertSelective(DevEquStore record);

    DevEquStore selectByPrimaryKey(String equipmentguid);

    int updateByPrimaryKeySelective(DevEquStore record);

    int updateByPrimaryKey(DevEquStore record);

    List<DevEquStore> find(ApiQueryBase query);

    List<DevEquStore> findAll();

    DevEquStore selectByguid(String guid);

    List<DevEquStore> selectByorderindex(int orderindex);

    int selectCountByDevSn(@Param("devsn") String devsn);

    Integer selectCountAll();

    List<EquipModel> findEquipTree();

    List<EquipModel> findEquipTreeWithStyleName();

    List<EquipModel> findVirtualEquipTree();

    List<EquipModel> findVirtualEquipTreeWithStyleName();

    int deleteVirtualCatalogMap();

    List<DevCompleteInfoModel> findDevCompleteModels(ApiQueryBase query);

    List<DevPositionAlertModel> findDevPositionAlerts();

    List<DevPositionModel> findDevPositionModels(ApiQueryBase query);

    DevCompleteInfoModel findOneDevCompleteModel(String devsn);

    List<DevEquStore> findUnActivedDev();

    List<DevEquStore> findByParentId(@Param("catalogid") String catalogid);

    List<DevEquStore> findByStyleId(@Param("styleid") String styleid);

    DevEquStore selectByDevSn(String devsn);

    DevEquStore selectByHardwareUniqueNo(String uniqueno);

    StaChartDevInfo staIndexChart1();

    int updateByHardWareNo(@Param("equipmentno") String equipmentno,@Param("hardwareuniqueno") String hardwareuniqueno);

    List<DevEquStore> selectByOrderByOderIndexDesc(int orderIndex);

    void updateDevEquStore2(DevEquStore devEquStore);

    int updateLiveConfigId(@Param("cguid")String cguid,@Param("equipmentno")String equipmentno);

    int clearConfigId(@Param("cguid")String cguid);

    List<LiveDevModel> findLiveDevs(ApiQueryBase query);

    List<LiveDevModel> findLiveDevsByCguid(String cguid);

    LiveDevModel findLiveDev(@Param("equipmentguid") String equipmentguid);

    void updateDevEquStoreBycguid(@Param("cguid")String cguid);

    List<DevEquStore> findDevEquStoreByConfigId(@Param("cguid") String cguid);

    List<DevEquStore> findAllSitename();
}